package com.spark.gaea.base;

import java.io.Serializable;
import java.util.Date;

public class BaseVo<T extends Serializable> implements Baseable<T> {
	private T id;
	private String creater;
	private Date created;
	private String modifier;
	private Date modified;
	private String remover;
	private Date removed;

	@Override
	public T getId() {
		return this.id;
	}

	@Override
	public String getCreater() {
		return this.creater;
	}

	@Override
	public Date getCreated() {
		return this.created;
	}

	@Override
	public String getModifier() {
		return this.modifier;
	}

	@Override
	public Date getModified() {
		return this.modified;
	}

	@Override
	public String getRemover() {
		return this.remover;
	}

	@Override
	public Date getRemoved() {
		return this.removed;
	}

	@Override
	public void setId(final T id) {
		this.id = id;
	}

	@Override
	public void setCreater(final String creater) {
		this.creater = creater;
	}

	@Override
	public void setCreated(final Date created) {
		this.created = created;
	}

	@Override
	public void setModifier(final String modifier) {
		this.modifier = modifier;
	}

	@Override
	public void setModified(final Date modified) {
		this.modified = modified;
	}

	@Override
	public void setRemover(final String remover) {
		this.remover = remover;
	}

	@Override
	public void setRemoved(final Date removed) {
		this.removed = removed;
	}

	@Override
	public boolean equals(final Object o) {
		if (o == this) {
			return true;
		}
		if (!(o instanceof BaseVo)) {
			return false;
		}
		final BaseVo<?> other = (BaseVo<?>) o;
		if (!other.canEqual(this)) {
			return false;
		}
		final Object this$id = this.getId();
		final Object other$id = other.getId();
		Label_0065:
		{
			if (this$id == null) {
				if (other$id == null) {
					break Label_0065;
				}
			} else if (this$id.equals(other$id)) {
				break Label_0065;
			}
			return false;
		}
		final Object this$creater = this.getCreater();
		final Object other$creater = other.getCreater();
		Label_0102:
		{
			if (this$creater == null) {
				if (other$creater == null) {
					break Label_0102;
				}
			} else if (this$creater.equals(other$creater)) {
				break Label_0102;
			}
			return false;
		}
		final Object this$created = this.getCreated();
		final Object other$created = other.getCreated();
		Label_0139:
		{
			if (this$created == null) {
				if (other$created == null) {
					break Label_0139;
				}
			} else if (this$created.equals(other$created)) {
				break Label_0139;
			}
			return false;
		}
		final Object this$modifier = this.getModifier();
		final Object other$modifier = other.getModifier();
		Label_0176:
		{
			if (this$modifier == null) {
				if (other$modifier == null) {
					break Label_0176;
				}
			} else if (this$modifier.equals(other$modifier)) {
				break Label_0176;
			}
			return false;
		}
		final Object this$modified = this.getModified();
		final Object other$modified = other.getModified();
		Label_0213:
		{
			if (this$modified == null) {
				if (other$modified == null) {
					break Label_0213;
				}
			} else if (this$modified.equals(other$modified)) {
				break Label_0213;
			}
			return false;
		}
		final Object this$remover = this.getRemover();
		final Object other$remover = other.getRemover();
		Label_0250:
		{
			if (this$remover == null) {
				if (other$remover == null) {
					break Label_0250;
				}
			} else if (this$remover.equals(other$remover)) {
				break Label_0250;
			}
			return false;
		}
		final Object this$removed = this.getRemoved();
		final Object other$removed = other.getRemoved();
		if (this$removed == null) {
			return other$removed == null;
		} else
			return this$removed.equals(other$removed);
	}

	protected boolean canEqual(final Object other) {
		return other instanceof BaseVo;
	}

	@Override
	public int hashCode() {
		final int PRIME = 59;
		int result = 1;
		final Object $id = this.getId();
		result = result * 59 + (($id == null) ? 0 : $id.hashCode());
		final Object $creater = this.getCreater();
		result = result * 59 + (($creater == null) ? 0 : $creater.hashCode());
		final Object $created = this.getCreated();
		result = result * 59 + (($created == null) ? 0 : $created.hashCode());
		final Object $modifier = this.getModifier();
		result = result * 59 + (($modifier == null) ? 0 : $modifier.hashCode());
		final Object $modified = this.getModified();
		result = result * 59 + (($modified == null) ? 0 : $modified.hashCode());
		final Object $remover = this.getRemover();
		result = result * 59 + (($remover == null) ? 0 : $remover.hashCode());
		final Object $removed = this.getRemoved();
		result = result * 59 + (($removed == null) ? 0 : $removed.hashCode());
		return result;
	}

	@Override
	public String toString() {
		return "BaseVo(id=" + this.getId() + ", creater=" + this.getCreater() + ", created=" + this.getCreated() + ", modifier=" + this.getModifier() + ", modified=" + this.getModified() + ", remover=" + this
				.getRemover() + ", removed=" + this.getRemoved() + ")";
	}
}
